﻿using Newtonsoft.Json;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.Entities.BPM_Business.AccountOpenChange
{
    /// <summary>
    /// 账号开立变更申请实体，只保存新账号
    /// </summary>
    [SugarTable("AccountOpenChangeResult")]
    public class AccountOpenChangeResult : BaseHead
    {
        /// <summary>
        /// 申请人组织
        /// </summary>
        [JsonProperty(PropertyName = "userOrganization")]
        public string UserOrganization { get; set; }

        /// <summary>
        /// 操作类型
        /// </summary>
        [JsonProperty(PropertyName = "operationType")]
        public string OperationType { get; set; }

        /// <summary>
        /// 是否需要企业认证
        /// </summary>
        [JsonProperty(PropertyName = "isAuthen")]
        public string IsAuthen { get; set; }

        /// <summary>
        /// 历史流程ID
        /// </summary>
        [JsonProperty(PropertyName = "referProcessID")]
        public string ReferProcessID { get; set; }

        /// <summary>
        /// 拟申请账户
        /// </summary>
        [JsonProperty(PropertyName = "applyAccount")]
        public string ApplyAccount { get; set; }

        /// <summary>
        /// 主体名称
        /// </summary>
        [JsonProperty(PropertyName = "principalName")]
        public string PrincipalName { get; set; }

        /// <summary>
        /// 主体使用理由
        /// </summary>
        [JsonProperty(PropertyName = "useReason")]
        public string UseReason { get; set; }

        /// <summary>
        /// 平台id
        /// </summary>
        [JsonProperty(PropertyName = "platformId")]
        public Guid PlatformId { get; set; }

        /// <summary>
        /// 平台名称
        /// </summary>
        [JsonProperty(PropertyName = "platformName")]
        public string PlatformName { get; set; }

        /// <summary>
        /// 费用
        /// </summary>
        [JsonProperty(PropertyName = "cost")]
        public string Cost { get; set; }

        /// <summary>
        /// 资质的有效开始日期
        /// </summary>
        [JsonProperty(PropertyName = "expiryDateStart1")]
        public string ExpiryDateStart1 { get; set; }

        /// <summary>
        /// 资质有效截止日期
        /// </summary>
        [JsonProperty(PropertyName = "expiryDateEnd1")]
        public string ExpiryDateEnd1 { get; set; }

        /// <summary>
        /// 账户有效期（开始）
        /// </summary>
        [JsonProperty(PropertyName = "expiryDateStart")]
        public string ExpiryDateStart { get; set; }

        /// <summary>
        /// 账户有效期（结束）
        /// </summary>
        [JsonProperty(PropertyName = "expiryDateEnd")]
        public string ExpiryDateEnd { get; set; }

        /// <summary>
        /// 是否有代理运营商
        /// </summary>
        [JsonProperty(PropertyName = "isAgent")]
        public string IsAgent { get; set; }

        /// <summary>
        /// 代理商
        /// </summary>
        [JsonProperty(PropertyName = "agentName")]
        public string AgentName { get; set; }

        /// <summary>
        /// 管理人员账户
        /// </summary>
        [JsonProperty(PropertyName = "adminAccount")]
        public string AdminAccount { get; set; }

        /// <summary>
        /// 管理人员姓名
        /// </summary>
        [JsonProperty(PropertyName = "adminName")]
        public string AdminName { get; set; }

        /// <summary>
        /// 管理人员手机号
        /// </summary>
        [JsonProperty(PropertyName = "adminTelephone")]
        public string AdminTelephone { get; set; }

        /// <summary>
        /// 用途
        /// </summary>
        [JsonProperty(PropertyName = "purpose")]
        public string Purpose { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [JsonProperty(PropertyName = "remark")]
        public string Remark { get; set; }



        /// <summary>
        /// 管理员工号
        /// </summary>
        [JsonProperty(PropertyName = "adminWorkNumber")]
        public string AdminWorkNumber { get; set; }

        /// <summary>
        /// 管理员id
        /// </summary>
        [JsonProperty(PropertyName = "adminUserId")]
        public string AdminUserId { get; set; }

        /// <summary>
        /// 子平台名称
        /// </summary>
        [JsonProperty(PropertyName = "subPlatformName")]
        public string SubPlatformName { get; set; }

        ///// <summary>
        ///// 平台资质文件
        ///// </summary>
        [JsonProperty(PropertyName = "platformAttachments")]
        public string PlatformAttachments { get; set; }

        ///// <summary>
        ///// 管理人承诺书
        ///// </summary>
        [JsonProperty(PropertyName = "promiseAttachments")]
        public string PromiseAttachments { get; set; }

        ///// <summary>
        ///// 序号
        ///// </summary>
        [JsonProperty(PropertyName = "sn")]
        public string Sn { get; set; }

        [JsonProperty(PropertyName = "approvedTime")]
        public DateTime? ApprovedTime { get; set; }

        /// <summary>
        /// 起始流程编号
        /// </summary>
        [JsonProperty(PropertyName = "originInstanceNumber")]
        public string OriginInstanceNumber { get; set; }

        /// <summary>
        /// 运营规划
        /// </summary>
        [JsonProperty(PropertyName = "attachments")]
        public string Attachments { get; set; }

        /// <summary>
        /// 是否关闭 1是 0否
        /// </summary>
        [JsonProperty(PropertyName = "isClosed")]
        public int IsClosed { get; set; }

        /// <summary>
        /// 是否新平台
        /// </summary>
        [JsonProperty(PropertyName = "isNewPlatforName")]
        public bool IsNewPlatforName { get; set; }

        /// <summary>
        /// 结案回传文件
        /// </summary>
        [JsonProperty(PropertyName = "finishAttachments")]
        public string FinishAttachments { get; set; }

        /// <summary>
        /// 平台类型
        /// </summary>
        [JsonProperty(PropertyName = "platformType")]
        public string PlatformType { get; set; }

        /// <summary>
        /// 变更理由/关闭理由
        /// </summary>
        [JsonProperty(PropertyName = "changeReason")]
        public string ChangeReason { get; set; }

        /// <summary>
        /// 是否可以发送邮件提醒给管理人
        /// </summary>
        public bool? IsCanSendNoticeEmail { get; set; }
    }
}
